home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / c / xw2.000 / xw2 / xw / csource / x0.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-05  |  8.8 KB  |  428 lines

  1.  
  2. /*{{{  Include*/
  3.  
  4. #include "xbw.h"
  5.  
  6. /*}}}  */
  7.  
  8. /* --Variablen-------------------------- */
  9.  
  10. /*{{{  Bildschirmfarben*/
  11.  
  12.   int
  13.     XbWVGr_Black    =0,
  14.     XbWVGr_Blue         =1,
  15.     XbWVGr_Green        =2,
  16.     XbWVGr_Cyan         =3,
  17.     XbWVGr_Red          =4,
  18.     XbWVGr_Magenta      =5,
  19.     XbWVGr_Brown        =6,
  20.     XbWVGr_LGray    =7,
  21.     XbWVGr_DGray     =8,
  22.     XbWVGr_LBlue    =9,
  23.     XbWVGr_LGreen   =10,
  24.     XbWVGr_LCyan    =11,
  25.     XbWVGr_LRed     =12,
  26.     XbWVGr_LMagenta =13,
  27.     XbWVGr_Yellow       =14,
  28.     XbWVGr_White        =15;
  29.  
  30. /*}}}  */
  31. /*{{{  Mauszeiger*/
  32.  
  33.  
  34.   boolean
  35.     XbWVMs_Rechts,XbWVMs_Links,XbWVMs_Rauf,XbWVMs_Runter,
  36.     XbWVMs_Bewegt,XbWVMs_Button,XbWVMs_LButt,XbWVMs_RButt,XbWVMs_MButt;
  37.   int
  38.     XbWVMs_XPos,XbWVMs_YPos,
  39.     XbWVMs_CX,XbWVMs_CY;
  40.   XbWDMs_CurFrm
  41.     XbWVMs_CFrm;
  42.   boolean
  43.     XbWVMs_CSet;
  44.   int XbWVMs_XSense,XbWVMs_YSense,
  45.     XbWVMs_Speed;
  46. /*}}}  */
  47. /*{{{  Fensterverwaltung*/
  48.  
  49. char        *XbWVWd_Name[XbWDWd_MaxWdw+1];
  50. XbWDDb_DbIVar  *XbWVWd_Grp[XbWDWd_MaxWdw+1];
  51. int         XbWVWd_MaxReg = 0;
  52. /*}}}  */
  53. /*{{{  Interpreter-Kommandos*/
  54.  
  55. char *XbWVMf_com[XbWDMf_MaxCmd];
  56. /*}}}  */
  57. /*{{{  Interpreter-Variablen*/
  58.  
  59. char *XbWVSy_DebugLine = "";
  60. char *XbWVSy_DebugLinePos = "";
  61. char *XbWVSy_DebugCommand = "";
  62.  
  63. char *XbWVMf_af;
  64. int *XbWVMf_az;
  65.  
  66. int XbWVMf_dmf = 0;
  67.  
  68. int XbWVMf_prd=0;
  69.  
  70.  
  71. int XbWVMf_Cerr;
  72. void  *XbWVMf_P[XbWDMf_MaxPar];
  73. int XbWVMf_T[XbWDMf_MaxPar];
  74. char XbWVMf_B[XbWDMf_MaxPar*XbWDMf_BfStrL];
  75. char XbWVMf_eof;
  76. int  XbWVMf_C;
  77.  
  78. XbWDMf_AktPar ( *XbWVMf_aP)[] = NULL;
  79.  
  80.  
  81. int XbWVMf_CErr=0;
  82.  
  83.  
  84. char XbWVMf_gn[130],XbWVMf_ln[130],XbWVMf_nn[130];
  85.  
  86. char XbWVMf_jln[140]; int XbWVMf_jtl = 0;
  87.  
  88. int XbWVMf_mlv = 0;
  89.  
  90.  
  91. /*}}}  */
  92. /*{{{  Daten für Objektverwaltung*/
  93.  
  94.  
  95. int XbWVOb_MovOK = 0;
  96.  
  97. int XbWVOb_X,XbWVOb_Y,XbWVOb_x,XbWVOb_y,XbWVOb_ox,XbWVOb_oy;
  98.  
  99. int XbWVOb_EdLvl = 0;
  100.  
  101. XbWDDb_DbIVar  *XbWVOb_GOPlv = NULL;
  102. XbWDDb_DbIVar  *XbWVOb_GOPao = NULL;
  103. char *XbWVOb_GOPnm = NULL;
  104.  
  105. char XbWVOb_GTxt[60];
  106.  
  107.  
  108.  
  109.  
  110.  
  111. /*}}}  */
  112. /*{{{  Daten für Unterfunktionen Objektverwaltung*/
  113.  
  114.  
  115.  
  116. fpos_t XbWVOb_pos = 0;
  117. FILE        *XbWVOb_afil = NULL;
  118.  
  119. XbWDDb_DbIVar  *XbWVOb_mgr;
  120. XbWDDb_DbIVar  *XbWVOb_mao;
  121. char *XbWVOb_agr, *XbWVOb_aon;
  122.  
  123. /*}}}  */
  124.  
  125.  
  126. /*{{{  Maus Variablen*/
  127. #ifndef XbW_SYSDEF_X11_VERSION
  128. union REGS XbWVMs_regs;
  129. #endif[5~
  130.  
  131. void far *XbWVMs_bits = NULL;
  132.  
  133. int XbWVMs_axa=-30000,XbWVMs_aya=-30000,
  134.       XbWVMs_cxa=-1, XbWVMs_cya=-1;
  135.  
  136.  
  137. /*}}}  */
  138. /*{{{  Globale Windows-Variablen*/
  139.  
  140. char XbWVSy_HomeDir[60];
  141. int XbWVSy_HomeDrv;
  142. char XbWVSy_AppPath[60];
  143. char XbWVSy_PrjPath[60];
  144.  
  145. int XbWVWd_AClos = 0;
  146. int XbWVWd_RedrawON = 1;
  147.  
  148. int XbWVWd_Hgt=0;
  149. int XbWVWd_Wdt=0;
  150.  
  151. int XbWVWd_OldMsg;
  152.  
  153. int XbWVWd_Activ = 1;
  154.  
  155. time_t XbWVSy_Time=0;
  156.  
  157.  
  158. char XbWVSy_ExecNameHook[60];
  159.  
  160. /*}}}  */
  161. /*{{{  Variablen für Tool-Funktionen*/
  162.  
  163. char XbWVTb_PTS[XbWDTb_PckTLen];
  164. /*}}}  */
  165. /*{{{  Variablen für DOSTASKS*/
  166.  
  167. char XbWVSy_DosCmd[265];
  168. char XbWVSy_MfName[265];
  169. /*}}}  */
  170. /*{{{  Variablen GRAFIKpaket*/
  171.  
  172.  
  173. struct viewporttype XbWVTb_ViewPLst[XbWDTb_MxVwPrt];
  174.  
  175. int XbWVTb_ViewPZ,XbWVTb_VPX,XbWVTb_VPY,XbWVTb_VPx,XbWVTb_VPy;
  176.  
  177.  
  178.  
  179.  
  180. /*}}}  */
  181.  
  182. /*{{{  Variablen VARLISTE*/
  183.  
  184. char XbWVDb_AktNam[16];
  185.  
  186. long XbWVDb_PrjSize;
  187.  
  188. XbWDDb_DbIVar  *XbWVDb_AktDObj = NULL;
  189. XbWDDb_DbIVar  *XbWVDb_AktDKey = NULL;
  190.  
  191. int XbWVDb_DbkStat = 0;
  192. int XbWVDb_DbkFile = -1;
  193.  
  194. int XbWVDb_FndNum = 0;
  195.  
  196. XbWDDb_Sys  *XbWVDb_DbkStrt = NULL;
  197. XbWDDb_Sys  *XbWVDb_DbkStrtMem = NULL;
  198. XbWDDb_DbIVar  *XbWVDb_AkDbkEl = NULL;
  199. XbWDDb_DbIVar  *XbWVDb_ActGrp1 = NULL;
  200. XbWDDb_DbIVar  *XbWVDb_ActGrp2 = NULL;
  201.  
  202. extern char *XbWVMf_com[];
  203. char *XbWVMf_LCmd = "<No Command>";
  204.  
  205. /*}}}  */
  206.  
  207. /*{{{  Variablen Windowverwaltung*/
  208.  
  209. int XbWVWd_FoundNo = 0;
  210. int XbWVWd_DrawNr = 0;
  211. extern int XbWVWd_RedrawON;
  212.  
  213. XbWDDb_DbIWdw XbWVWd_LastDsp;
  214. XbWDDb_DbIWdw XbWVWd_W;           /* Aktives Display-Window */
  215.  
  216. extern int XbWVWd_AClos;
  217. time_t XbWVWd_Time = 0;
  218. int  XbWVWd_ADspNr = 0;
  219. char XbWVWd_CStr[100] = "                                       ";
  220. int XbWVWd_CErr = 0;
  221.  
  222.  
  223. /*}}}  */
  224. /*{{{  Variablen EDITOR*/
  225.  
  226. int
  227.   XbWVEd_CrFrm = XbWDEd_UnLine,
  228.   XbWVEd_CrKey = XbWDEd_EndItm;  /* :: mit CR wird Eingabe beendet         */
  229.                                  /* Eine 0 bedeutet, da"s mit {\tt CR} zum */
  230.                                  /* n"achsten Objekt gegangen wird.        */
  231.  
  232. XbWDEd_NxtTyp
  233.   XbWVEd_nxt;
  234.  
  235.  boolean XbWVEd_ins= 0;        /* Status des Insert- Flags               */
  236.  
  237.  
  238.  int XbWVEd_xhp,XbWVEd_yhp;        /* Position des Fragetextes               */
  239.  char XbWVEd_hdr[35];               /* Fragetext                              */
  240.  int XbWVEd_hcol;                   /* Farbe der Frage                        */
  241.  int XbWVEd_xa,XbWVEd_ya;        /* Linke obere Ecke des Editierfensters   */
  242.  int XbWVEd_xb,XbWVEd_yb;        /* Rechte Untere...                       */
  243.  char XbWVEd_sst[257];              /* Zu gredierender String                 */
  244.  unsigned char XbWVEd_scol;                /* Farbe desselben                        */
  245.  
  246.  
  247.  char XbWVEd_zstr[255];             /* Der Puffer                             */
  248.  unsigned char XbWVEd_zc,XbWVEd_zf;                    /* Ein Zeichen                            */
  249.  int
  250.    XbWVEd_c,XbWVEd_send,
  251.    XbWVEd_crpos,
  252.    XbWVEd_cpos;                   /* Ein paar Zeiger                        */
  253.  int XbWVEd_lcnt;                 /* Zeichenz"ahler                         */
  254.  int XbWVEd_vpos,XbWVEd_npos,     /* Noch mehr Zeiger                       */
  255.      XbWVEd_spos,
  256.      XbWVEd_mvport = 0;
  257.  char XbWVEd_coptxt[255];           /* Noch ein Puffer                        */
  258. /*}}}  */
  259.  
  260.  
  261.  
  262.  
  263. time_t XbWVSy_AltChkActTime = 0;
  264.  
  265.  
  266.  
  267. #ifdef XbW_SYSDEF_GNU_VERSION
  268. long XbWVSy_DlyLim = 800;
  269. #include "xgnu.c"
  270. #endif
  271.  
  272. XbWDSy_XbWContxt XbWVSy_ConTxt;
  273.  
  274. XbWDIf_GlobDsc XbWVIf_GlbDsc = {
  275.   {NULL, NULL, NULL}
  276.   };
  277.  
  278.  
  279.  
  280.  
  281.  
  282. char XbWVMs_PtrHand[] = {
  283.     0,0,0,0,0,0,0,0,0,0,0,0,
  284.     0,0,0,0,0,0,1,0,0,0,0,0,
  285.     0,0,0,0,1,1,2,1,1,0,0,0,
  286.     0,0,0,1,2,1,1,1,2,1,0,0,
  287.     0,0,0,1,1,1,2,1,1,1,1,0,
  288.     0,0,0,1,2,1,2,1,2,1,2,1,
  289.     0,1,1,1,2,1,2,1,2,1,1,1,
  290.     1,1,2,1,2,1,2,1,2,1,2,1,
  291.     1,1,2,1,2,1,2,1,2,1,2,1,
  292.     1,2,2,1,2,2,2,2,2,2,2,1,
  293.     1,2,2,1,2,2,2,2,2,2,2,1,
  294.     0,1,2,2,2,2,2,2,2,2,2,1,
  295.     0,0,1,2,2,2,2,2,2,2,2,1,
  296.     0,0,0,1,2,2,2,2,2,2,2,1,
  297.     0,0,0,1,2,2,2,2,2,2,1,0,
  298.     0,0,0,1,2,2,2,2,2,2,1,0,
  299. };
  300.  
  301. char XbWVMs_PtrArrow[] = {
  302.     0,1,0,0,0,0,0,0,0,0,0,0,
  303.     1,2,1,0,0,0,0,0,0,0,0,0,
  304.     1,2,2,1,0,0,0,0,0,0,0,0,
  305.     1,2,2,2,1,0,0,0,0,0,0,0,
  306.     1,2,2,2,2,1,0,0,0,0,0,0,
  307.     1,2,2,2,2,2,1,0,0,0,0,0,
  308.     1,2,2,2,2,2,2,1,0,0,0,0,
  309.     1,2,2,2,2,2,2,2,1,0,0,0,
  310.     1,2,2,2,2,2,2,2,2,1,0,0,
  311.     1,2,2,2,2,2,2,2,2,2,1,0,
  312.     1,2,2,2,2,2,2,2,2,2,2,1,
  313.     1,2,2,2,2,1,1,1,1,1,1,0,
  314.     1,2,2,2,1,0,0,0,0,0,0,0,
  315.     1,2,2,1,0,0,0,0,0,0,0,0,
  316.     1,2,1,0,0,0,0,0,0,0,0,0,
  317.     0,1,0,0,0,0,0,0,0,0,0,0,
  318. };
  319.  
  320. char XbWVMs_PtrClock[] = {
  321.     0,0,0,0,1,1,1,1,0,0,0,0,
  322.     0,0,0,0,1,1,1,1,0,0,0,0,
  323.     0,0,0,0,1,1,1,1,0,0,0,0,
  324.     0,0,0,1,2,2,2,2,1,0,0,0,
  325.     0,0,1,2,2,2,2,2,2,1,0,0,
  326.     0,0,1,2,1,2,2,2,2,1,0,0,
  327.     0,1,2,2,1,1,2,2,2,2,1,0,
  328.     0,1,2,2,2,1,1,1,1,1,1,0,
  329.     0,1,2,2,2,2,2,2,2,2,1,0,
  330.     0,0,1,2,2,2,2,2,2,1,0,0,
  331.     0,0,1,2,2,2,2,2,2,1,0,0,
  332.     0,0,0,1,2,2,2,2,1,0,0,0,
  333.     0,0,0,0,1,1,1,1,0,0,0,0,
  334.     0,0,0,0,1,1,1,1,0,0,0,0,
  335.     0,0,0,0,1,1,1,1,0,0,0,0,
  336.     0,0,0,0,1,1,1,1,0,0,0,0
  337. };
  338.  
  339. char XbWVMs_PtrStop[] = {
  340.     0,0,0,0,0,0,0,0,0,0,0,0,
  341.     0,0,0,0,2,2,2,2,0,0,0,0,
  342.     0,0,0,2,1,1,1,1,2,0,0,0,
  343.     0,0,2,1,2,2,2,2,1,2,0,0,
  344.     0,2,1,2,2,2,2,2,2,1,2,0,
  345.     0,2,1,2,2,2,2,1,1,1,2,0,
  346.     2,1,2,2,2,2,1,1,2,2,1,2,
  347.     2,1,2,2,2,1,1,1,2,2,1,2,
  348.     2,1,2,2,1,1,1,2,2,2,1,2,
  349.     0,2,1,2,1,1,2,2,2,1,2,0,
  350.     0,2,1,1,1,2,2,2,2,1,2,0,
  351.     0,0,2,1,2,2,2,2,1,2,0,0,
  352.     0,0,0,2,1,1,1,1,2,0,0,0,
  353.     0,0,0,0,2,2,2,2,0,0,0,0,
  354.     0,0,0,0,0,0,0,0,0,0,0,0,
  355.     0,0,0,0,0,0,0,0,0,0,0,0
  356. };
  357.  
  358. #ifdef XbW_SYSDEF_GNU_VERSION
  359.   GrCursor *XbWVMs_PtrPtrClock = NULL;
  360.   GrCursor *XbWVMs_PtrPtrArrow = NULL;
  361.   GrCursor *XbWVMs_PtrPtrHand  = NULL;
  362.   GrCursor *XbWVMs_PtrPtrStop  = NULL;
  363.   GrCursor *XbWVMs_PtrActualPtr = NULL;
  364. #endif
  365. #ifdef XbW_SYSDEF_X11_VERSION
  366.   Cursor XbWVMs_PtrPtrClock = 0;
  367.   Cursor XbWVMs_PtrPtrArrow = 0;
  368.   Cursor XbWVMs_PtrPtrHand  = 0;
  369.   Cursor XbWVMs_PtrPtrStop  = 0;
  370.   Cursor XbWVMs_PtrActualPtr = 0;
  371. #endif
  372. #ifdef XbW_SYSDEF_TC3_VERSION
  373.   void  *XbWVMs_PtrPtrClock = NULL;
  374.   void  *XbWVMs_PtrPtrArrow = NULL;
  375.   void  *XbWVMs_PtrPtrHand  = NULL;
  376.   void  *XbWVMs_PtrPtrStop  = NULL;
  377.   void  *XbWVMs_PtrActualPtr = NULL;
  378. #endif
  379.  
  380.   char *XbWVGr_ColorTexte[] = {
  381.     "black",
  382.     "blue3",
  383.     "green3",
  384.     "cyan3",
  385.     "red3",
  386.     "magenta3",
  387.     "sandybrown",
  388.     "lightgray",
  389.     "black",
  390.     "lightblue1",
  391.     "green1",
  392.     "cyan1",
  393.     "red1",
  394.     "magenta1",
  395.     "yellow",
  396.     "white",
  397.  
  398.     "gold",
  399.     "maroon",
  400.     "tomato",
  401.     "hotpink",
  402.  
  403.     "beige",
  404.     "seagreen",
  405.     "salmon",
  406.     "purple",
  407.  
  408.     "dark khaki",
  409.     "",
  410.     "",
  411.     "",
  412.  
  413.     "",
  414.     "",
  415.     "",
  416.     "",
  417.     };
  418.  
  419.   unsigned long int XbWVGr_ColorValues[64];
  420.  
  421.   char XbWVSy_PrjName[40];
  422.  
  423. #ifdef XbW_SYSDEF_X11_VERSION
  424. int XbW_X11_ScreenWidth=800;
  425. int  XbW_X11_ScreenHeight=600;
  426. #endif
  427.  
  428.